﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EntidadesDeNegocio;

namespace ObliDisenoAplicaciones.DatosPrueba
{
    public static class Prueba
    {
        public static void CargarDatosPrueba() 
        {
            CargarComponentes();
            CargarRobots();
            CargarDisenos();
        }

        private static void CargarComponentes()
        {
            
            //TERRESTRES

            Stock.Instancia.AgregarComponente("TOR-6", "PIE-TOR006", MedioComponente.Terrestre, decimal.Parse("11,56"), "Tornillo cabeza cuadrada 6 '' ", DateTime.Now.AddDays(-3), 4, DateTime.Now.AddDays(-32), false, decimal.Parse("44,56"), decimal.Parse("2,56"), decimal.Parse("7,56"), decimal.Parse("2,88"),null);
            Stock.Instancia.AgregarComponente("TOR-10", "PIE-TOR0010", MedioComponente.Terrestre, decimal.Parse("11,56"), "Tornillo cabeza cuadrada 10 '' ", DateTime.Now.AddDays(-2), 10, DateTime.Now.AddDays(-32), false, decimal.Parse("41,56"), decimal.Parse("2,56"), decimal.Parse("7,56"), decimal.Parse("2,88"), null);
            Stock.Instancia.AgregarComponente("TOR-20", "PIE-TOR0020", MedioComponente.Terrestre, decimal.Parse("11,00"), "Tornillo cabeza cuadrada 20 '' ", DateTime.Now.AddDays(-33), 6, DateTime.Now.AddDays(31), false, decimal.Parse("14,53"), decimal.Parse("2,56"), decimal.Parse("7,56"), decimal.Parse("2,88"), null);
            Stock.Instancia.AgregarComponente("VIS-13", "PIE-VIS0013", MedioComponente.Terrestre, decimal.Parse("12,44"), "Visagra doble chica ", DateTime.Now.AddDays(-83), 12, DateTime.Now.AddDays(-41), false, decimal.Parse("13,56"), decimal.Parse("2,56"), decimal.Parse("7,56"), decimal.Parse("2,88"), null);
            Stock.Instancia.AgregarComponente("VIS-15", "PIE-VIS0015", MedioComponente.Terrestre, decimal.Parse("101,26"), "Visagra triple chica ", DateTime.Now.AddDays(-8), 6, DateTime.Now.AddDays(34), false, decimal.Parse("24,26"), decimal.Parse("2,56"), decimal.Parse("7,56"), decimal.Parse("2,88"), null);
            Stock.Instancia.AgregarComponente("RUE-13", "PIE-RUE0013", MedioComponente.Terrestre, decimal.Parse("110,00"), "Rueda rodado 13", DateTime.Now.AddDays(-7), 6, DateTime.Now.AddDays(22), false, decimal.Parse("44,22"), decimal.Parse("2,56"), decimal.Parse("7,56"), decimal.Parse("2,88"), null);
            Stock.Instancia.AgregarComponente("RUE-15", "PIE-RUE0015", MedioComponente.Terrestre, decimal.Parse("54,00"), "Rueda rodado 15", DateTime.Now.AddDays(-8), 11, DateTime.Now.AddDays(-3), false, decimal.Parse("12,21"), decimal.Parse("2,56"), decimal.Parse("7,56"), decimal.Parse("2,88"), null);
            Stock.Instancia.AgregarComponente("RUE-17", "PIE-RUE0017", MedioComponente.Terrestre, decimal.Parse("29,99"), "Rueda rodado 17", DateTime.Now.AddDays(-5), 14, DateTime.Now.AddDays(12), false, decimal.Parse("21,51"), decimal.Parse("2,56"), decimal.Parse("7,56"), decimal.Parse("2,88"), null);

            //ACUATICAS
            Stock.Instancia.AgregarComponente("VEL-19", "PIE-VEL0019", MedioComponente.Acuatico, decimal.Parse("222,99"), "Vela Central", DateTime.Now.AddDays(-69), 5, DateTime.Now.AddDays(48), false, decimal.Parse("23443,56"), decimal.Parse("23,56"), decimal.Parse("7,56"), decimal.Parse("2,88"), null);
            Stock.Instancia.AgregarComponente("VEL-8", "PIE-VEL0008", MedioComponente.Acuatico, decimal.Parse("355,00"), "Vela Frontal", DateTime.Now.AddDays(-69), 15, DateTime.Now.AddDays(-41), false, decimal.Parse("23663,56"), decimal.Parse("23,56"), decimal.Parse("7,56"), decimal.Parse("2,88"), null);
            Stock.Instancia.AgregarComponente("FLO-11", "PIE-FLO0011", MedioComponente.Acuatico, decimal.Parse("324,99"), "Flotador Lateral", DateTime.Now.AddDays(-69), 7, DateTime.Now.AddDays(44), false, decimal.Parse("24543,56"), decimal.Parse("23,56"), decimal.Parse("7,56"), decimal.Parse("2,88"), null);
            Stock.Instancia.AgregarComponente("FLO-12", "PIE-FLO0012", MedioComponente.Acuatico, decimal.Parse("84,00"), "Flotador Principal", DateTime.Now.AddDays(-69), 21, DateTime.Now.AddDays(-47), false, decimal.Parse("23416,56"), decimal.Parse("23,56"), decimal.Parse("7,56"), decimal.Parse("2,88"), null);
            Stock.Instancia.AgregarComponente("ANC-61", "PIE-ANC0061", MedioComponente.Acuatico, decimal.Parse("67,00"), "Ancla 25kg", DateTime.Now.AddDays(-69), 8, DateTime.Now.AddDays(49), false, decimal.Parse("23408,56"), decimal.Parse("23,56"), decimal.Parse("7,56"), decimal.Parse("2,88"), null);
            Stock.Instancia.AgregarComponente("ANC-77", "PIE-ANC0077", MedioComponente.Acuatico, decimal.Parse("769,50"), "Ancla 80kg", DateTime.Now.AddDays(-69), 15, DateTime.Now.AddDays(50), false, decimal.Parse("23490,56"), decimal.Parse("23,56"), decimal.Parse("7,56"), decimal.Parse("2,88"), null);


            //AEREAS
            Stock.Instancia.AgregarComponente("ALA-01", "PIE-ALA01", MedioComponente.Aereo, decimal.Parse("17,99"), "Ala Lateral", DateTime.Now.AddDays(-6), 3, DateTime.Now.AddDays(48), false, decimal.Parse("123,56"), decimal.Parse("23,56"), decimal.Parse("71,56"), decimal.Parse("12,88"), null);
            Stock.Instancia.AgregarComponente("ALA-03", "PIE-ALA03", MedioComponente.Aereo, decimal.Parse("25,99"), "Ala Lateral Grande", DateTime.Now.AddDays(-8), 5, DateTime.Now.AddDays(2), false, decimal.Parse("250,56"), decimal.Parse("230,56"), decimal.Parse("71,56"), decimal.Parse("12,88"), null);
            Stock.Instancia.AgregarComponente("ALA-05", "PIE-ALA05", MedioComponente.Aereo, decimal.Parse("45,99"), "Ala Lateral Chica", DateTime.Now.AddDays(-2), 2, DateTime.Now.AddDays(-16), false, decimal.Parse("100,00"), decimal.Parse("50,56"), decimal.Parse("100,56"), decimal.Parse("12,88"), null);
            Stock.Instancia.AgregarComponente("TUR-77", "PIE-TUR77", MedioComponente.Aereo, decimal.Parse("80,99"), "Turbina Lateral", DateTime.Now.AddDays(-12), 2, DateTime.Now.AddDays(28), false, decimal.Parse("1200,00"), decimal.Parse("540,56"), decimal.Parse("120,56"), decimal.Parse("112,88"), null);
            Stock.Instancia.AgregarComponente("TUR-99", "PIE-TUR99", MedioComponente.Aereo, decimal.Parse("12,99"), "Turbina Lateral", DateTime.Now.AddDays(-14), 22, DateTime.Now.AddDays(-30), false, decimal.Parse("1500,00"), decimal.Parse("540,56"), decimal.Parse("120,56"), decimal.Parse("112,88"), null);                   
        }

        private static void CargarRobots()
        {
            //ROBOTS

            //ROBOTS           
            Robot r = new Robot("HON-01", "ROB-HON0001", MedioComponente.Acuatico, decimal.Parse("422,00"), "Buscador Marino", DateTime.Now.AddDays(-69), 5, DateTime.Now.AddDays(16), null);
            //AGREGO COMPONENTES AL ROBOT
            r.AgregarComponente(Stock.Instancia.ObtenerComponente("VEL-8"));
            r.AgregarComponente(Stock.Instancia.ObtenerComponente("ANC-61"));
            r.AgregarBD();
           
            Robot r2 = new Robot("HON-02", "ROB-HON0002", MedioComponente.Acuatico, decimal.Parse("861,00"), "Escabador SubAcuatico", DateTime.Now.AddDays(-69), 5, DateTime.Now.AddDays(8),null);
            r2.AgregarComponente(Stock.Instancia.ObtenerComponente("VEL-8"));
            r2.AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-12"));
            r2.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-01"));
            r2.AgregarBD();

            //ROBOTS
            Robot r3 = new Robot("AIR-77", "ROB-AIR0777", MedioComponente.Aereo, decimal.Parse("1700,00"), "Avion 777", DateTime.Now.AddDays(-109), 5, DateTime.Now.AddDays(26),null);
            //AGREGO COMPONENTES AL ROBOT
            r3.AgregarComponente(Stock.Instancia.ObtenerComponente("ALA-05"));
            r3.AgregarComponente(Stock.Instancia.ObtenerComponente("TUR-77"));
            r3.AgregarComponente(Stock.Instancia.ObtenerComponente("TUR-99"));
            r3.AgregarBD();
        }


        private static void CargarDisenos()
        {
            Diseno d = new Diseno("R&N-001", MedioComponente.Terrestre, decimal.Parse("12,00"));
            d.AgregarComponente(Stock.Instancia.ObtenerComponente("TOR-6"));
            d.AgregarComponente(Stock.Instancia.ObtenerComponente("VIS-15"));
            d.AgregarComponente(Stock.Instancia.ObtenerComponente("RUE-17"));
            Sistema.Instancia.AgregarDiseno(d);

            Diseno d2 = new Diseno("R&N-003", MedioComponente.Terrestre, decimal.Parse("4,00"));
            d2.AgregarComponente(Stock.Instancia.ObtenerComponente("TOR-6"));
            d2.AgregarComponente(Stock.Instancia.ObtenerComponente("VIS-15"));
            d2.AgregarComponente(Stock.Instancia.ObtenerComponente("RUE-17"));
            d2.AgregarComponente(Stock.Instancia.ObtenerComponente("TOR-6"));
            d2.AgregarComponente(Stock.Instancia.ObtenerComponente("VIS-15"));
            d2.AgregarComponente(Stock.Instancia.ObtenerComponente("RUE-17"));
            d2.AgregarComponente(Stock.Instancia.ObtenerComponente("RUE-17"));
            d2.AgregarComponente(Stock.Instancia.ObtenerComponente("TOR-6"));
            d2.AgregarComponente(Stock.Instancia.ObtenerComponente("VIS-15"));
            Sistema.Instancia.AgregarDiseno(d2);

            Diseno d3 = new Diseno("R&N-002", MedioComponente.Terrestre, decimal.Parse("6,00"));
            d3.AgregarComponente(Stock.Instancia.ObtenerComponente("TOR-6"));
            d3.AgregarComponente(Stock.Instancia.ObtenerComponente("VIS-15"));
            d3.AgregarComponente(Stock.Instancia.ObtenerComponente("RUE-17"));
            Sistema.Instancia.AgregarDiseno(d3);

            Diseno d4 = new Diseno("R&N-006", MedioComponente.Acuatico, decimal.Parse("3,00"));
            d4.AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-11"));
            d4.AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-12"));
            d4.AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-11"));
            d4.AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-12"));
            d4.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-01"));
            d4.AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-12"));
            d4.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-01"));
            d4.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-01"));
            Sistema.Instancia.AgregarDiseno(d4);

            Diseno d5 = new Diseno("R&N-007", MedioComponente.Acuatico, decimal.Parse("31,00"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("ANC-77"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-12"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-02"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-02"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-02"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-02"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-12"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-02"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-12"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-02"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("FLO-12"));
            d5.AgregarComponente(Stock.Instancia.ObtenerComponente("HON-02"));
            Sistema.Instancia.AgregarDiseno(d5);

        }
        
    }
}
